package Function;

import java.util.function.Function;

/**
 * @Author: ylc
 * @Description:使用Function进行函数模型的拼接
 * @Date Created in 2022-05-05 16:49
 */
public class Demo3Test {
    /*
        String str = "叶良承,20";
        分析:
        1. 将字符串截取数字年龄部分，得到字符串；
            Function<String,String> "叶良承,21"->"21"
        2. 将上一步的字符串转换成为int类型的数字；
            Function<String,Integer> "21"->21
        3. 将上一步的int数字加10，得到结果int数字。
            Function<Integer,Integer> 21->31
     */
    public static int convert(String s, Function<String, String> fun1,
                               Function<String, Integer> fun2,Function<Integer, Integer> fun3){
        return fun1.andThen(fun2).andThen(fun3).apply(s);
    }

    public static void main(String[] args) {
        String s = "叶良承，21";
        int res = convert(s, str -> str.split("，")[1], str -> Integer.parseInt(str), i -> i + 10);
        System.out.println(res);
    }
}
